package com.kelaite.procurement.entity;

// Generated 2016-3-6 15:13:23 by Hibernate Tools 3.4.0.CR1

import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;

/**
 * TPurchaseOrderPayment generated by hbm2java
 */
@Entity(name = "t_purchase_order_payment")
public class TPurchaseOrderPayment extends TBaseEntity {

	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "id")
	private Long id;

	@ManyToOne(cascade = CascadeType.REFRESH, optional = false)
	@JoinColumn(name = "purchase_order_id")
	@JsonIgnore
	private TPurchaseOrder tPurchaseOrder;

	@Column(name = "display_order_no", length = 20)
	private String displayOrderNo; // 序列号，每个po_id从1开始编

	@Column(name = "milestone_type")
	private short milestoneType;

	@Column(name = "plan_time")
	private Date planTime;

	@Column(name = "real_time")
	private Date realTime;

	@Column(name = "percentage")
	private Integer percentage;

	@Column(name = "plan_amount")
	private Long planAmount;

	@Column(name = "increament_tax", nullable = true)
	private Float increamentTax;// 增值税

	@Column(name = "amount_without_tax", nullable = true)
	private Float amountWithoutTax;// 不含税金额

	@Column(name = "billed_amount")
	private Long billedAmount;

	@Column(name = "paid_amount")
	private Long paidAmount;

	@Column(name = "billed_time")
	private Date billedTime;

	@Column(name = "paid_time")
	private Date paidTime;

	@Column(name = "delivery_note_1", length = 1)
	private Integer deliveryNote1; // 是否有送货单

	@Column(name = "delivery_note_attachment_1")
	private String deliveryNoteAttachment1; // 送货单图片地址

	@Column(name = "delivery_note_attachment_status_1", length = 1)
	private Integer deliveryNoteAttachmentStatus1;

	@Column(name = "delivery_note_2", length = 1)
	private Integer deliveryNote2;

	@Column(name = "delivery_note_attachment_2")
	private String deliveryNoteAttachment2;

	@Column(name = "delivery_note_attachment_status_2", length = 1)
	private Integer deliveryNoteAttachmentStatus2;

	@Column(name = "acceptance_report", length = 1)
	private Integer acceptanceReport; // 是否有验收报告

	@Column(name = "acceptance_report_attachment")
	private String acceptanceReportAttachment;

	@Column(name = "acceptance_report_attachment_status", length = 1)
	private Integer acceptanceReportAttachmentStatus;

	@Column(name = "invoice_attachment_1")
	private String invoiceAttachment1; // 发票附件

	@Column(name = "invoice_attachment_status_1", length = 1)
	private Integer invoiceAttachmentStatus1;

	@Column(name = "invoice_attachment_2")
	private String invoiceAttachment2;

	@Column(name = "invoice_attachment_status_2", length = 1)
	private Integer invoiceAttachmentStatus2;

	@Column(name = "order_payment_remark")
	private String orderPaymentRemark;

	@Column(name = "gmt_create_time")
	private Date gmtCreateTime;

	@Column(name = "gmt_update_time")
	private Date gmtUpdateTime;

	@Column(name = "created_by")
	private String createdBy;

	@Column(name = "updated_by")
	private String updatedBy;

	@Column(name = "is_delete")
	private boolean isDelete;

	@Column(name = "remark")
	private String remark;

	public TPurchaseOrderPayment() {

		super();
	}

	public Long getId() {

		return id;
	}

	public void setId(Long id) {

		this.id = id;
	}

	public TPurchaseOrder gettPurchaseOrder() {

		return tPurchaseOrder;
	}

	public void settPurchaseOrder(TPurchaseOrder tPurchaseOrder) {

		this.tPurchaseOrder = tPurchaseOrder;
	}

	public String getDisplayOrderNo() {

		return displayOrderNo;
	}

	public void setDisplayOrderNo(String displayOrderNo) {

		this.displayOrderNo = displayOrderNo;
	}

	public short getMilestoneType() {

		return milestoneType;
	}

	public void setMilestoneType(short milestoneType) {

		this.milestoneType = milestoneType;
	}

	@JsonFormat(pattern = "yyyy-MM-dd")
	public Date getPlanTime() {

		return planTime;
	}

	public void setPlanTime(Date planTime) {

		this.planTime = planTime;
	}

	@JsonFormat(pattern = "yyyy-MM-dd")
	public Date getRealTime() {

		return realTime;
	}

	public void setRealTime(Date realTime) {

		this.realTime = realTime;
	}

	public Integer getPercentage() {

		return percentage;
	}

	public void setPercentage(Integer percentage) {

		this.percentage = percentage;
	}

	public Long getPlanAmount() {

		return planAmount;
	}

	public void setPlanAmount(Long planAmount) {

		this.planAmount = planAmount;
	}

	public Long getBilledAmount() {

		return billedAmount;
	}

	public void setBilledAmount(Long billedAmount) {

		this.billedAmount = billedAmount;
	}

	public Long getPaidAmount() {

		return paidAmount;
	}

	public void setPaidAmount(Long paidAmount) {

		this.paidAmount = paidAmount;
	}

	public Date getBilledTime() {

		return billedTime;
	}

	public void setBilledTime(Date billedTime) {

		this.billedTime = billedTime;
	}

	public Date getPaidTime() {

		return paidTime;
	}

	public void setPaidTime(Date paidTime) {

		this.paidTime = paidTime;
	}

	public Integer getDeliveryNote1() {

		return deliveryNote1;
	}

	public void setDeliveryNote1(Integer deliveryNote1) {

		this.deliveryNote1 = deliveryNote1;
	}

	public String getDeliveryNoteAttachment1() {

		return deliveryNoteAttachment1;
	}

	public void setDeliveryNoteAttachment1(String deliveryNoteAttachment1) {

		this.deliveryNoteAttachment1 = deliveryNoteAttachment1;
	}

	public Integer getDeliveryNoteAttachmentStatus1() {

		return deliveryNoteAttachmentStatus1;
	}

	public void setDeliveryNoteAttachmentStatus1(
			Integer deliveryNoteAttachmentStatus1) {

		this.deliveryNoteAttachmentStatus1 = deliveryNoteAttachmentStatus1;
	}

	public Integer getDeliveryNote2() {

		return deliveryNote2;
	}

	public void setDeliveryNote2(Integer deliveryNote2) {

		this.deliveryNote2 = deliveryNote2;
	}

	public String getDeliveryNoteAttachment2() {

		return deliveryNoteAttachment2;
	}

	public void setDeliveryNoteAttachment2(String deliveryNoteAttachment2) {

		this.deliveryNoteAttachment2 = deliveryNoteAttachment2;
	}

	public Integer getDeliveryNoteAttachmentStatus2() {

		return deliveryNoteAttachmentStatus2;
	}

	public void setDeliveryNoteAttachmentStatus2(
			Integer deliveryNoteAttachmentStatus2) {

		this.deliveryNoteAttachmentStatus2 = deliveryNoteAttachmentStatus2;
	}

	public Integer getAcceptanceReport() {

		return acceptanceReport;
	}

	public void setAcceptanceReport(Integer acceptanceReport) {

		this.acceptanceReport = acceptanceReport;
	}

	public String getAcceptanceReportAttachment() {

		return acceptanceReportAttachment;
	}

	public void setAcceptanceReportAttachment(String acceptanceReportAttachment) {

		this.acceptanceReportAttachment = acceptanceReportAttachment;
	}

	public Integer getAcceptanceReportAttachmentStatus() {

		return acceptanceReportAttachmentStatus;
	}

	public void setAcceptanceReportAttachmentStatus(
			Integer acceptanceReportAttachmentStatus) {

		this.acceptanceReportAttachmentStatus = acceptanceReportAttachmentStatus;
	}

	public String getInvoiceAttachment1() {

		return invoiceAttachment1;
	}

	public void setInvoiceAttachment1(String invoiceAttachment1) {

		this.invoiceAttachment1 = invoiceAttachment1;
	}

	public Integer getInvoiceAttachmentStatus1() {

		return invoiceAttachmentStatus1;
	}

	public void setInvoiceAttachmentStatus1(Integer invoiceAttachmentStatus1) {

		this.invoiceAttachmentStatus1 = invoiceAttachmentStatus1;
	}

	public String getInvoiceAttachment2() {

		return invoiceAttachment2;
	}

	public void setInvoiceAttachment2(String invoiceAttachment2) {

		this.invoiceAttachment2 = invoiceAttachment2;
	}

	public Integer getInvoiceAttachmentStatus2() {

		return invoiceAttachmentStatus2;
	}

	public void setInvoiceAttachmentStatus2(Integer invoiceAttachmentStatus2) {

		this.invoiceAttachmentStatus2 = invoiceAttachmentStatus2;
	}

	public String getOrderPaymentRemark() {

		return orderPaymentRemark;
	}

	public void setOrderPaymentRemark(String orderPaymentRemark) {

		this.orderPaymentRemark = orderPaymentRemark;
	}

	public Date getGmtCreateTime() {

		return gmtCreateTime;
	}

	public void setGmtCreateTime(Date gmtCreateTime) {

		this.gmtCreateTime = gmtCreateTime;
	}

	public Date getGmtUpdateTime() {

		return gmtUpdateTime;
	}

	public void setGmtUpdateTime(Date gmtUpdateTime) {

		this.gmtUpdateTime = gmtUpdateTime;
	}

	public String getCreatedBy() {

		return createdBy;
	}

	public void setCreatedBy(String createdBy) {

		this.createdBy = createdBy;
	}

	public String getUpdatedBy() {

		return updatedBy;
	}

	public void setUpdatedBy(String updatedBy) {

		this.updatedBy = updatedBy;
	}

	public boolean isDelete() {

		return isDelete;
	}

	public void setDelete(boolean isDelete) {

		this.isDelete = isDelete;
	}

	public Float getIncreamentTax() {

		return increamentTax;
	}

	public void setIncreamentTax(Float increamentTax) {

		this.increamentTax = increamentTax;
	}

	public Float getAmountWithoutTax() {

		return amountWithoutTax;
	}

	public void setAmountWithoutTax(Float amountWithoutTax) {

		this.amountWithoutTax = amountWithoutTax;
	}

	public String getRemark() {

		return remark;
	}

	public void setRemark(String remark) {

		this.remark = remark;
	}

}
